/*
    events模块的作用  
        events模块提供了EventEmitter类，这是node.js中处理事件 的关键
    处理一个事件（绑定一个事件）需要4个方面：
        1、获取元素；
        2、绑定事件；
        3、执行什么内容，回调函数的内容
        4、触发事件；例如：点击的那个动作
        document.querySelector('button).onclick  = function(){
            console.log(111);
        }
*/

// events的使用
// 1、获取元素 通过解构赋值、函数调用获取
const {EventEmitter} = require('events');
const eventEmitter = new EventEmitter();
//2、绑定事件
eventEmitter.on('zzz',()=>{//(2)zzz为事件名  (3)callback为执行函数
    console.log('第一个node事件！')
})
//(4)触发事件 eventEmitter.emit(事件名)
eventEmitter.emit('zzz');
eventEmitter.emit('zzz');
eventEmitter.emit('zzz');

//注意 ：绑定事件可以用on 也可以用addListener 都是绑定的事件可以执行无数次
eventEmitter.addListener('yyy',()=>{
    console.log('yyy')
})
eventEmitter.emit('yyy');
eventEmitter.emit('yyy');
eventEmitter.emit('yyy');

//绑定事件 还可以用once  但是只能执行一次
eventEmitter.once('ooo',()=>{
    console.log('ooo');
});
eventEmitter.emit('ooo');
eventEmitter.emit('ooo');